﻿function showDSProblem(obj) {
	var pid = obj.pid;
	var eid = obj.eid;
	if (refreshTab('showDSProblem' + eid + '_' + pid)) return;

	var toolbar = new Ext.Toolbar({
				items : [new Ext.Button({
									text : '刷新',
									iconCls : 'refresh-icon',
									handler : onRefresh
								}), new Ext.Button({
									text : '本题状态',
									iconCls : 'status-icon',
									handler : onStatus
								})]
			});
	if (sys.god || sys.teacher) toolbar.add([new Ext.Toolbar.Separator(), new Ext.Button({
						text : '编辑',
						iconCls : 'edit-icon',
						handler : onEdit
					}), new Ext.Button({
						text : '删除',
						iconCls : 'delete-icon',
						handler : onDelete
					}), new Ext.Toolbar.Separator(), new Ext.Button({
						text : '重判代码',
						iconCls : 'rejudge-icon',
						handler : onRejudge
					}), new Ext.Button({
						text : '清空代码',
						iconCls : 'clean-icon',
						handler : onClean
					})]);
	toolbar.add([new Ext.Toolbar.Fill(), new Ext.Button({
						text : '提交代码',
						iconCls : 'submit-icon',
						handler : onSubmit
					})])

	var loader = {
		url : url.showDSProblem,
		params : {
			eid : eid,
			pid : pid
		},
		nocache : true,
		text : '载入中...'
	};
	var panel = new Ext.Panel({
				id : 'showDSProblem' + eid + '_' + pid,
				title : 'Problem(e' + eid + ') ' + int2char(pid),
				iconCls : 'problemlist-icon',
				closable : true,
				autoScroll : true,
				autoLoad : loader,
				bbar : toolbar
			});
	panel.onRefresh = onRefresh;

	addTab(panel);

	function onRefresh() {
		panel.load(loader);
	}
	function onStatus() {
		showDSStatusList({
					eid : eid,
					pid : pid
				});
	}
	function onEdit() {
		addOrEditDSProblem({
					eid : eid,
					pid : pid
				});
	}
	function onDelete() {
		deleteDSProblem({
					eid : eid,
					pid : pid,
					success : function() {
						closeTab(panel.id);
					}
				});
	}
	function onRejudge() {
		rejudgeDSProblemStatus({
					eid : eid,
					pid : pid
				});
	}
	function onClean() {
		cleanDSProblemStatus({
					eid : eid,
					pid : pid
				});
	}
	function onSubmit() {
		submitDSCode({
					eid : eid,
					pid : pid
				});
	}
}
